package com.mmall.service;

import com.mmall.commons.ServerResponse;
import com.mmall.pojo.User;

/**
 * 用户模块Service接口
 * @author wgt
 * @date 2018/6/23
 * @project mmall-server
 */
public interface IUserService {

    /** 登录
     * @param username
     * @param password
     * @return
     */
    ServerResponse<User> login(String username, String password);

    /**
     * 注册
     * @param user
     * @return
     */
    ServerResponse<String> register(User user);

    /**
     * 校验用户名和email
     * @param str
     * @param type
     * @return
     */
    ServerResponse checkValid(String str, String type);

    /**
     * 查询用户的问题信息
     * @param username
     * @return
     */
    ServerResponse<String> selectQuestion(String username);

    /**
     * 检查用户问题答案是否一致
     * @param username
     * @param question
     * @param answer
     * @return
     */
    ServerResponse<String> checkAnswer(String username, String question, String answer);

    /** 忘记密码 使用token重置密码
     * @param username
     * @param password
     * @param token
     * @return
     */
    ServerResponse forgetResetPassword(String username, String password, String token);

    /**
     * 登陆状态修改密码
     * @param username
     * @param oldPassword
     * @param newPassword
     * @return
     */
    ServerResponse resetPassword(String username, String oldPassword, String newPassword);

    /**
     * 修改用户信息
     * @param user
     * @return
     */
    ServerResponse updateInformation(User user);

    /**
     * 获取用户信息
     * @param id
     * @return
     */
    ServerResponse getUserInformation(Integer id);
}
